package com.luckcoder.relax.games.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.luckcoder.relax.games.domain.RelaxUserGameSettings;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 用户游戏设置视图对象 relax_user_game_settings
 *
 * @author zhanghao
 * @date 2025-09-11
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = RelaxUserGameSettings.class)
public class RelaxUserGameSettingsVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 设置ID
     */
    @ExcelProperty(value = "设置ID")
    private Long settingId;

    /**
     * 用户ID
     */
    @ExcelProperty(value = "用户ID")
    private Long userId;

    /**
     * 游戏编码
     */
    @ExcelProperty(value = "游戏编码")
    private String gameCode;

    /**
     * 游戏时间（秒），0表示无限模式
     */
    @ExcelProperty(value = "游戏时间")
    private Integer gameTime;

    /**
     * 表情生成间隔（毫秒）
     */
    @ExcelProperty(value = "表情生成间隔")
    private Integer emojiSpeed;

    /**
     * 屏幕最大表情数
     */
    @ExcelProperty(value = "屏幕最大表情数")
    private Integer maxEmojis;

    /**
     * 表情最小大小（rpx）
     */
    @ExcelProperty(value = "表情最小大小")
    private Integer emojiSizeMin;

    /**
     * 表情最大大小（rpx）
     */
    @ExcelProperty(value = "表情最大大小")
    private Integer emojiSizeMax;

    /**
     * 自动消失时间（秒），0表示不自动消失
     */
    @ExcelProperty(value = "自动消失时间")
    private Integer autoPopTime;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;
}